//生成布局

/*
	 * 格式化 参数说明 p1 商品名称 p2 购买数量 p3 总价 headNum 期望商品名称占多少个字节 footNum
	 * 期望价格占多少个字节 注意：一行可以容纳16个汉字，32个字符（字节） 典型案例如： 商品名称 数量 价格 测试商品 *1 10.00
	 */
const format = (p1, p2, p3, headNum, footNum) => {
    let message = p1  //商品名称
    let t1 = headNum    //期望商品名称占多少个字节
    let t2 = footNum
    t1 = t1 - getLength(p1)
    t2 = t2 - getLength(p2.toString()) - getLength(p3.toString())
    if (t1 < 0) {
      message += '\n'
      t1 = headNum
    }
    for (let j = 0; j < t1; j++) {
      message += ' '
    }
    message += p2
    for (let j = 0; j < t2; j++) {
      message += ' '
    }
    message += p3
    return message
  }
  //获取字符串长度
  const getLength = (str) => {
    let len = 0
    let strArr = str.split('')
    for (let i in strArr) {
      if (strArr[i].charCodeAt(0) > 128) {
        len += 2
      } else {
        len += 1
      }
    }
    return len
  }
  module.exports = {
    format: format
  }